/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ui;

import com.toedter.calendar.JDateChooser;
import java.sql.Date;
import java.text.*;

/**
 *
 * @author nahuel
 */
public class Fecha {

    /**
     * Este método permite convertir una fecha Date en String
     * @param fecha
     * @return 
     */
    public static String formatearFecha(java.sql.Date fecha) {
        if (fecha != null) {
            DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
            return dateFormat.format(fecha);
        } else {
            return null;
        }
    }

    public static String formatearFecha2(java.util.Date fecha) {
        if (fecha != null) {
            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
            return dateFormat.format(fecha);
        } else {
            return null;
        }
    }
    /**
     * Este método permite convertir una fecha en String a Date
     * @param fecha
     * @return 
     */
    public static java.sql.Date obtenerFecha(String fecha) {
        try {
            DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
            return (new java.sql.Date(dateFormat.parse(fecha).getTime()));
        } catch (ParseException ex) {
            System.out.println(ex);
            return (new java.sql.Date((new java.util.Date()).getTime()));
        }
    }
    
    public static java.sql.Date obtenerFecha2(String fecha) {
       try{ 
        DateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
        java.util.Date parsedUtilDate = formater.parse(fecha);
        return (new java.sql.Date(parsedUtilDate.getTime()));
         } catch (ParseException ex) {
            System.out.println(ex);
            return (new java.sql.Date((new java.util.Date()).getTime()));
        }
    }
    
    
    /**
     * Este método permite convertir una fecha de java.util.Date a java.sql.Date
     * @param fecha
     * @return 
     */
    public static java.sql.Date convertirASQL(java.util.Date fecha) {
        if(fecha != null){
            return new java.sql.Date(fecha.getTime());
        } else {
            return null;
        }        
    }
  /**
     * este metodo devuelve la fecha que esta seteada en un 
     * jDateChooser, si no tiene fecha seteada devuelve la fecha actual
     * sino devuelve la fecha que tiene seteada
     * @param fecha
     * @return 
     */  
  public static Date devolverFecha(JDateChooser fecha) {
  java.sql.Date fechaActual = new java.sql.Date((new java.util.Date()).getTime());
        if ((fecha.getDate()) == null) {// si no hay nada seleccionado devuelve la fecha actual
            return fechaActual;
        } else {   // si hay alguna fecha seleccionada devuelve esa fecha     
            java.sql.Date fechaSeteadaEnJDateChooser = new java.sql.Date((fecha.getDate()).getTime());
            return fechaSeteadaEnJDateChooser;
        }
    }
}
